package com.itheima.d1_exception;

import java.util.Scanner;

/**
 * 目标：掌握异常的处理方式：捕获异常，尝试修复。
 * <p>
 * 需求：调用一个方法，让用户输入一个合适的价格返回为止。
 */
public class ExceptionTest4 {
    public static void main(String[] args) {
        // 尝试修复
        while (true) {
            try {
                double money = getMoney();
                System.out.println(money);
                break;//正确的价格就结束死循环
            } catch (RuntimeException e) {
                System.out.println(e.getMessage() + "，请重新输入合适的价格!");
            }
        }
    }

    //异常默认的处理方案：向上抛出
    public static double getMoney() {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个价格：");
        double money = sc.nextDouble();

        if (money > 0) {
            return money;
        } else {
            //手动引发一个异常（就会发生异常抛出）
            throw new RuntimeException("非法价格");
        }
    }
}
